Garden visualization and mapping via robotic vehicle

ABSTRACT

A method for creating a visualization of a parcel or garden may include receiving information indicative of position data of a robotic vehicle transiting a parcel and corresponding image data captured by the robotic vehicle at one or more locations on the parcel. The method may further include generating a model of the parcel based on the information received, providing a graphical representation of the parcel based on the model, and enabling an operator to interact with the graphical representation to view one or more content items associated with respective ones of the one or more locations.

TECHNICAL FIELD

Example embodiments generally relate to robotic devices and, more particularly, relate to a robotic device that is configurable to facilitate generation of an interactive model of a garden.

BACKGROUND

Yard maintenance tasks are commonly performed using various tools and/or machines that are configured for the performance of corresponding specific tasks. Certain tasks, like grass cutting, are typically performed by lawn mowers. Lawn mowers themselves may have many different configurations to support the needs and budgets of consumers. Walk-behind lawn mowers are typically compact, have comparatively small engines and are relatively inexpensive. Meanwhile, at the other end of the spectrum, riding lawn mowers, such as lawn tractors, can be quite large. More recently, robotic mowers and/or remote controlled mowers have also become options for consumers to consider.

Robotic mowers are typically capable of transiting over even and uneven terrain to execute yard maintenance activities relating to mowing. They may be programmed to stay within a defined area while performing their mowing tasks, and may even be configured to perform other tasks in the defined area. Thus, it may be desirable to expand the capabilities of robotic mowers to improve their utility and functionality.

BRIEF SUMMARY OF SOME EXAMPLES

Some example embodiments may therefore provide a robotic vehicle that can employ a camera for use in connection with visualizing and mapping of a garden so that, for example, a model of the garden can be generated for user interaction in a variety of ways.

In an example embodiment, a method for creating a visualization of a parcel or garden may include receiving information indicative of position data of a robotic vehicle transiting a parcel and corresponding image data captured by the robotic vehicle at one or more locations on the parcel. The method may further include generating a model of the parcel based on the information received, providing a graphical representation of the parcel based on the model, and enabling an operator to interact with the graphical representation to view one or more content items associated with respective ones of the one or more locations.

In another example embodiment, an apparatus for creating a visualization of a parcel or garden may include processing circuitry configured for receiving information indicative of position data of a robotic vehicle transiting a parcel and corresponding image data captured by the robotic vehicle at one or more locations on the parcel. The processing circuitry may further be configured for generating a model of the parcel based on the information received, providing a graphical representation of the parcel based on the model, and enabling an operator to interact with the graphical representation to view one or more content items associated with respective ones of the one or more locations.

Some example embodiments may improve the ability of robotic vehicles to provide utility for garden owners or other operators, specifically by enabling the garden owners or operators to conduct virtual tours of the garden based on data gathered by the robotic vehicles.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:

FIG. 1 illustrates an example operating environment for a robotic mower that may employ an example embodiment;

FIG. 2A illustrates a schematic view of a base plate and various components of the robotic mower according to an example embodiment;

FIG. 2B illustrates a schematic view of an inner housing and various other components of the robotic mower according to an example embodiment;

FIG. 3 illustrates a block diagram of various components of processing circuitry of the robotic mower to illustrate some of the components that enable the functional performance of the robotic mower and to facilitate description of an example embodiment;

FIG. 4 illustrates a graphical representation of a parcel in accordance with an example embodiment;

FIG. 5 illustrates a block diagram of a method according to an example embodiment;

FIG. 6 illustrates a block diagram of sub-operations that may be associated with the method according to an example embodiment; and

FIG. 7 illustrates a block diagram of sub-operations that may be associated with the method according to an example embodiment.

DETAILED DESCRIPTION

Some example embodiments now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all example embodiments are shown. Indeed, the examples described and pictured herein should not be construed as being limiting as to the scope, applicability or configuration of the present disclosure. Rather, these example embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout. Furthermore, as used herein, the term “or” is to be interpreted as a logical operator that results in true whenever one or more of its operands are true. Additionally, the term “garden” is meant to relate to any yard, parcel, grounds, or other property that is maintained and/or monitored using equipment. As such, the term garden could refer to an area in which various varieties of vegetation could be cultivated including, for example, grasses, trees, bushes, shrubs, flowers, vegetables, fruits, herbs and/or the like. As used herein, operable coupling should be understood to relate to direct or indirect connection that, in either case, enables functional interconnection of components that are operably coupled to each other.

In an example embodiment, a robotic vehicle (e.g., a robotic mower, mobile sensing device, watering device and/or the like) is provided with a camera or other image capture module in addition to any other sensors or functional components that the robotic vehicle may carry. The image capture module, and perhaps also other sensor equipment, may be configured to gather image data and other information during operation of the robotic vehicle in the garden (i.e., on the parcel). The image data may be combined with positioning information to generate a model (e.g., a 2D or 3D model) of the parcel. The user may then interact with the model to undertake a variety of activities including, for example, defining work areas and/or tasks to be performed in various areas, recording content for presentation in association with the time the content was recorded to provide an event log with accessible image content, detecting/notifying the operator of various changes to the environment, and/or the like. Other functions may also be performed as described in greater detail below.

FIG. 1 illustrates an example operating environment for a robotic mower 10 that may employ an example embodiment. However, it should be appreciated that example embodiments may be employed on numerous other robotic vehicles, so the robotic mower 10 should be recognized as merely one example of such a vehicle. The robotic mower 10 may operate to cut grass on a parcel 20 (i.e., a land lot or garden), the boundary 30 of which may be defined using one or more physical boundaries (e.g., a fence, wall, curb and/or the like), a boundary wire, programmed location based boundaries or combinations thereof. When the boundary 30 is a boundary wire, the boundary wire may emit electrical signals that are detectable by the robotic mower 10 to inform the robotic mower 10 when the boundary 30 of the parcel 20 has been reached.

The robotic mower 10 may be controlled, at least in part, via control circuitry 12 located onboard. The control circuitry 12 may include, among other things, a positioning module and an image capture module, which will be described in greater detail below. Accordingly, the robotic mower 10 may utilize the control circuitry 12 to define a path for coverage of the parcel 20 in terms of performing a task over specified portions or the entire parcel 20. In this regard, the positioning module may be used to guide the robotic mower 10 over the parcel 20 and to ensure that full coverage (of at least predetermined portions of the parcel 20) is obtained, while the image capture module may detect objects and capture image data regarding the surroundings of the robotic mower 10 while the parcel 20 is traversed.

In an example embodiment, the robotic mower 10 may be battery powered via one or more rechargeable batteries. Accordingly, the robotic mower 10 may be configured to return to a charge station 40 that may be located at some position on the parcel 20 in order to recharge the batteries. The batteries may power a drive system and a blade control system of the robotic mower 10. However, the control circuitry 12 of the robotic mower 10 may selectively control the application of power or other control signals to the drive system and/or the blade control system to direct the operation of the drive system and/or blade control system. Accordingly, movement of the robotic mower 10 over the parcel 20 may be controlled by the control circuitry 12 in a manner that enables the robotic mower 10 to systematically traverse the parcel while operating a cutting blade to cut the grass on the parcel 20.

In some embodiments, the control circuitry 12 and/or a communication node at the charge station 40 may be configured to communicate wirelessly with an electronic device 42 (e.g., a personal computer, a cloud based computer, server, mobile telephone, PDA, tablet, smart phone, and/or the like) of a remote operator 44 (or user) via a wireless communication network 46. However, the wireless network 46 and other remote devices may not be employed in some embodiments. For example, the charge station 40 may have a wired connection to a computer of the remote operator 44. In embodiments where the wireless network 46 is employed, the wireless network 46 may be a data network, such as a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN) (e.g., the Internet), and/or the like, which may couple the robotic mower 10 to devices such as processing elements (e.g., personal computers, server computers or the like) or databases. Accordingly, communication between the wireless network 46 and the devices or databases (e.g., servers, electronic device 42, control circuitry 12) may be accomplished by either wireline or wireless communication mechanisms and corresponding protocols.

FIG. 2, which includes FIGS. 2A and 2B, illustrates some of the parts that may be employed in connection with an example of the robotic mower 10. However, it should be appreciated that example embodiments may be employed on numerous other vehicles that may employ different designs. As such, components described may be excluded in some embodiments and/or additional components may be provided. Moreover, the locations of some components may be moved in some embodiments. FIG. 2A illustrates a schematic view of a base plate and various components of the robotic mower according to an example embodiment and FIG. 2B illustrates a schematic view of an inner housing and various other components of the robotic mower according to an example embodiment.

Referring to FIGS. 1 and 2, the robotic mower 10 of one example embodiment may include a base plate 50, an inner housing 52 and an outer housing 54. The inner housing 52 may be configured to be arranged on top of a base plate 50 and the outer housing 54 may be configured to be arranged on top of the inner housing 52. The base plate 50 may form a support structure from which one or more front wheels 56 and one or more rear wheels 58 may be supported. In some embodiments, the one or more rear wheels 58 may be relatively large as compared to the one or more front wheels 56. Moreover, the one or more rear wheels 58 may be configured to operate either in a forward or backward direction, but may otherwise not be steerable. However, the one or more front wheels 56 may be steerable responsive to control by the control circuitry 12. Alternatively, the front wheels 56 may be swivel wheels capable of following any direction as required by the control of the rear wheels 58.

In an example embodiment, the base plate 50 may further include one or more sensors 60 that may be used to detect the boundary 30 and/or objects that may form part of the boundary of the parcel. The sensors 60 may also detect various parameters, conditions, objects and/or the like that may be encountered during operation of the robotic mower 10 within the boundary 30 of the parcel 20. In relation to object detection, the objects may be fixed or temporary (e.g., movable) objects. In some cases, the sensors 60 may include a front sensor and a rear sensor. However, it should be appreciated that any number of sensors may be employed and they may be disposed at any desirable location on the robotic mower 10. The sensors 60 may include sensors related to positional determination (e.g., a GPS receiver, an accelerometer, a camera, a radar transmitter/detector, an ultrasonic sensor, a laser scanner and/or the like). Thus, for example, positional determinations may be made using GPS, inertial navigation, optical flow, radio navigation, visual location (e.g., VSLAM) and/or other positioning techniques or combinations thereof. Accordingly, the sensors 60 may be used, at least in part, for determining the location of the robotic mower 10 relative to boundaries or other points of interest (e.g., a starting point or other key features) of the parcel 20, or determining a position history or track of the robotic mower 10 over time.

The base plate 50 may further support a cutting motor 62 configured to drive a cutting blade or other cutters of the robotic mower 10. In some embodiments, the outer housing 54 and the inner housing 52 may be plastic, light metal, or other similarly lightweight components. The inner housing 52 may include a cover 64 for the cutting motor 62. In some embodiments, a user interface (e.g., display 66) may be provided on the inner housing 3. The user interface may be employed to interface with the control circuitry 12 for controlling operations of the robotic mower 10.

In some embodiments, the sensors 60 may include sensors specifically provided for detecting objects (other than the boundary 30 or objects forming boundaries of the parcel 20) and/or sensors for detecting lifting (or tipping beyond a threshold amount) of the robotic mower 10. Alternatively, separate sensors (e.g., collision sensors 70 and lifting sensors 72) may be provided for each function, and those sensors may be capable of communicating with the control circuitry 12 in addition to the sensors 60. In some embodiments, a camera 74 may be provided at a portion of the robotic mower 10. In an example embodiment, the camera 74 may be positioned at a forward portion of the robotic mower 10 to collect image data in front of the robotic mower 10. However, camera 74 may also be positioned in other locations in other embodiments.

FIG. 3 illustrates a block diagram of various components of the control circuitry 12 to illustrate some of the components that enable the functional performance of the robotic mower 10 and to facilitate description of an example embodiment. In some example embodiments, the control circuitry 12 may include or otherwise be in communication with positioning module 100 and an image capture module 110 disposed at the robotic mower 10. As such, for example, the functions attributable to the positioning module 100 and/or the image capture module 110 may be carried out by the control circuitry 12.

The control circuitry 12 may include processing circuitry 210 that may be configured to perform data processing, control function execution and/or other processing and management services according to an example embodiment of the present invention. In some embodiments, the processing circuitry 210 may be embodied as a chip or chip set. In other words, the processing circuitry 210 may comprise one or more physical packages (e.g., chips) including materials, components and/or wires on a structural assembly (e.g., a baseboard). The structural assembly may provide physical strength, conservation of size, and/or limitation of electrical interaction for component circuitry included thereon. The processing circuitry 210 may therefore, in some cases, be configured to implement an embodiment of the present invention on a single chip or as a single “system on a chip.” As such, in some cases, a chip or chipset may constitute means for performing one or more operations for providing the functionalities described herein.

In an example embodiment, the processing circuitry 210 may include one or more instances of a processor 212 and memory 214 that may be in communication with or otherwise control a device interface 220 and, in some cases, a user interface 230 (e.g., display 66). As such, the processing circuitry 210 may be embodied as a circuit chip (e.g., an integrated circuit chip) configured (e.g., with hardware, software or a combination of hardware and software) to perform operations described herein. However, in some embodiments, the processing circuitry 210 may be embodied as a portion of an on-board computer. In some embodiments, the processing circuitry 210 may communicate with electronic components and/or sensors (e.g., camera 74) of the robotic mower 10 via a single data bus. As such, the data bus may connect to a plurality or all of the switching components and/or other electrically controlled components of the robotic mower 10.

The processor 212 may be embodied in a number of different ways. For example, the processor 212 may be embodied as various processing means such as one or more of a microprocessor or other processing element, a coprocessor, a controller or various other computing or processing devices including integrated circuits such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or the like. In an example embodiment, the processor 212 may be configured to execute instructions stored in the memory 214 or otherwise accessible to the processor 212. As such, whether configured by hardware or by a combination of hardware and software, the processor 212 may represent an entity (e.g., physically embodied in circuitry—in the form of processing circuitry 210) capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, for example, when the processor 212 is embodied as an ASIC, FPGA or the like, the processor 212 may be specifically configured hardware for conducting the operations described herein. Alternatively, as another example, when the processor 212 is embodied as an executor of software instructions, the instructions may specifically configure the processor 212 to perform the operations described herein.

In an example embodiment, the processor 212 (or the processing circuitry 210) may be embodied as, include or otherwise control the positioning module 100 and the image capture module 110. As such, in some embodiments, the processor 212 (or the processing circuitry 210) may be said to cause each of the operations described in connection with the positioning module 100 and the image capture module 110 by directing the positioning module 100 and the image capture module 110, respectively, to undertake the corresponding functionalities responsive to execution of instructions or algorithms configuring the processor 212 (or processing circuitry 210) accordingly.

In an exemplary embodiment, the memory 214 may include one or more non-transitory memory devices such as, for example, volatile and/or non-volatile memory that may be either fixed or removable. The memory 214 may be configured to store information, data, applications, instructions or the like for enabling the positioning module 100 and/or the image capture module 110 to carry out various functions in accordance with exemplary embodiments of the present invention. For example, the memory 214 could be configured to buffer input data for processing by the processor 212. Additionally or alternatively, the memory 214 could be configured to store instructions for execution by the processor 212. As yet another alternative, the memory 214 may include one or more databases that may store a variety of data sets responsive to input from various sensors or components of the robotic mower 10. Among the contents of the memory 214, applications may be stored for execution by the processor 212 in order to carry out the functionality associated with each respective application. In some cases, the applications may include an algorithm for capturing image data and correlating the image data to the corresponding location of the robotic mower 10 at the time the image data was captured. Thus, the applications may include an algorithm to correlate image data with vehicle position. However, in some cases, the applications may merely include applications for passing such data along to a garden modeler 270, which may perform the correlation described above among other things. The applications and/or algorithms may therefore include instructions for performing the functionality described herein when executed.

The user interface 230 (if implemented) may be in communication with the processing circuitry 210 to receive an indication of a user input at the user interface 230 and/or to provide an audible, visual, mechanical or other output to the user. As such, the user interface 230 may include, for example, a display (e.g., display 66), one or more buttons or keys (e.g., function buttons), and/or other input/output mechanisms (e.g., microphone, speakers, cursor, joystick, lights and/or the like).

The device interface 220 may include one or more interface mechanisms for enabling communication with other devices either locally or remotely (e.g., the garden modeler 270). In some cases, the device interface 220 may be any means such as a device or circuitry embodied in either hardware, or a combination of hardware and software that is configured to receive and/or transmit data from/to sensors or other components in communication with the processing circuitry 210. In some example embodiments, the device interface 220 may provide interfaces for communication of data from the positioning module 100 and/or the image capture module 110 (as shown in the example of FIG. 3) to the garden modeler 270 via wired or wireless communication interfaces in a real-time manner, as a data package downloaded after data gathering or in one or more burst transmission of any kind.

The positioning module 100 may be configured to utilize one or more sensors to determine a location of the robotic mower 10 and direct continued motion of the robotic mower 10 to achieve appropriate coverage of the parcel 20. As such, the robotic mower 100 (or more specifically, the control circuitry 12) may use the location information to determine a mower track and provide full coverage of the parcel 20 to ensure the entire parcel is mowed. The positioning module 100 may therefore be configured to direct movement of the robotic mower 10, including the speed of the robotic mower 10. Various sensors of the robotic mower 10 may be included as a portion of, or otherwise communicate with, the positioning module 100 to, for example, determine vehicle speed/direction, vehicle location, vehicle orientation and/or the like. Sensors may also be used to determine motor run time, machine work time, and other operational parameters. In some embodiments, positioning and/or orientation sensors (e.g., global positioning system (GPS) receiver and/or accelerometer) may be included to monitor, display and/or record data regarding vehicle position and/or orientation as part of the positioning module 100.

The image capture module 110 may employ the camera 74 to capture image data regarding the area around the robotic mower 10. The image data captured may be still images or video data. In any case, the image data may have metadata or other indicators associated therewith to enable the image data to be correlated to the time and/or date on which the image data was captured.

The garden modeler 270 may be a local module of the control circuitry 12 and may therefore be controlled by the processing circuitry 210 similar to the way the processing circuitry 210 controls operation of the positioning module 100 and image capture module 110 as described above. However, in other embodiments, the garden modeler 270 may be located remotely and may include its own separate instances of processing circuitry (e.g., processing circuitry 272), processor(s) and/or memory devices that may be similar to those described above in terms of form and/or function. The garden modeler 270 may also include its own user interface 274 to enable a remote operator to interact with the garden modeler 270. As such, for example, the garden modeler 270 may be provided at any of the example devices described above as instances of the electronic device 42 and the user interface 274 and processing circuitry 272 may be the corresponding user interface and processing circuitry of the electronic device 42.

Regardless of where the garden modeler 270 is instantiated, processing circuitry 272 of the garden modeler 270 may be configured to generate a model 280 of the parcel 20 based on the image data and position information received from the image capture module 110 and the positioning module 100, respectively. In this regard, position and heading information may be integrated with image data to generate a two or three dimensional model 280 of the parcel. The model 280 may then be interacted with by the user to enable the user to accomplish various tasks.

In some example embodiments, the model 280 may be further enhanced based on input from external sources such as external device 290. The external device 290 could be a smartphone or other device with an image sensor (e.g., a high resolution camera) that may be further enabled to gather image and/or position information for incorporation into the model. As an example, the external device 290 may use VSLAM or other positioning technologies to generate accurate position and image data for incorporation with the image and position data that is gathered solely by the robotic mower 10. Due to the relatively low perspective of the robotic mower 10, the additional data from the external device 290 may provide better perspective, angles and/or resolution for generation of the model 280 with enhanced accuracy and/or for a more complete model. The garden modeler 270 may be configured to synchronize the data from the external device 290 with the position information and image data from the robotic mower 10 so that all the data is properly correlated and reinforcing rather than conflicting.

The model 280 may include a graphical representation of the parcel 20 and the graphical representation may identify various structures or areas on the parcel 20. The structures may be man-made or natural and may be permanent or temporary. The areas may correspond to different work areas, areas of exclusion or any other type of area distinctions that may be defined by the operator. In some cases, content items (e.g., image data corresponding to actual camera images or video content) may be correlated with various locations on the graphical representation. The content items may be visually represented on the graphical representation or may be selectable from or in association with the graphical representation of the model 280. Thus, for example, the operator may select a content item and view an image captured of, from or otherwise in association with a particular location via interaction with the model 280.

In embodiments in which the graphical representation is a 2D representation, annotations on the representation may indicate the various structures and/or areas associated with the parcel 20 based on the model 280. Content items may be selectable or thumbnail views may be provided for selection in association with various locations. In embodiments in which the graphical representation is a 3D representation, the content items may be used to generate three dimensional views of the parcel 20 or the 3D representation could include a topographical map and various content items associated with each location may again be accessible by selection of the content items.

In some cases, the model 280 may have a timeline component or timeline function that allows content items or model data associated with a given time or timeframe to be stored (and later accessed). Accordingly, for example, any content items generated at the selected time or in the selected timeframe may be presented or otherwise accessible via interaction with the model 280. The operator may therefore be enabled to browse content items associated with a particular time or timeframe to compare changes to the parcel 20 over time or to identify or appreciate seasonal, weather related or other man-made or natural changes that may occur to the parcel 20. In the case where special sensors are employed for detecting soil pH, moisture content, or other parameters, information associated with sensor readings at various locations may also be recorded in association with the corresponding times at which the data was gathered.

FIG. 4 illustrates a graphical representation of a parcel in accordance with an example embodiment. The graphical representation of FIG. 4 is a 2D representation similar to a map view, but could easily be converted to 3D by the addition of topographical contour lines or other features (e.g., image views) to indicate features having a height dimension. The parcel 20 of FIG. 4 has the boundary 30 and charge station 40 indicated as described above. However, the parcel 20 also has a work area 291 defined along with a first exclusion area 292 and a second exclusion area 293. The first and second exclusion areas 292 and 293 may be designated by the operator as cultivated areas that the robotic mower 10 is to avoid. However, the work area 291 may be defined as an area that is to be mowed in its entirety. Various structures (e.g., bushes 294) are also represented, and may be appreciated by the robotic mower 10 as inaccessible areas due to the existence of a structure at the location.

In some embodiments, each location in the parcel 20 may be assigned a grid position or other regional identifier. Content items may be associated with the grid positions and may be accessed by the operator interacting with (e.g., selecting or requesting) the content items associated with each grid position. As mentioned above, the content items may be registered sequentially by time and by location. In some cases, the most recent content item for any particular grid position may be the default content item shown for each location when the operator selects a grid location. Alternatively, an icon, thumbnail view or other indicator (e.g., content item indicator 295) may be placed on the map view itself, and the user may select the indicator to view image data for the location. Selection of the indicator 295 may show the most recently gathered image associated with the location. In some cases, the operator may cycle through other images associated with the location in a manner similar to a slide show presentation arranged by time. However, the operator could also designate specific times or time ranges, as described above.

In some embodiments, the robotic mower 10 may traverse the parcel 20 gathering image data and all such data may be recorded in association with the location at which it was gathered, as described above. The robotic mower 10 could transmit the image and location information to the charge station 40 or another remote device during operation (wirelessly) or could download the information to the charge station 40 (wired) while charging. In some cases, the operator could even direct the robotic mower 10 to proceed to a specific location to obtain image data and direct the gathering of content items.

Accordingly, in some embodiments, the operator may be enabled to take a virtual tour through the various locations of the parcel 20 and retrieve data and/or images that are associated with each of the various locations. The operator may, for example, pass a mouse over various locations on a map view of the model 280 and select or otherwise be automatically presented with content items associated with each of the various locations. Moreover, when the timeline function is employed, the virtual tour may be associated with a specifically selected time or time period. However, real time touring may also be possible if the operator selects to view live data or even direct the robotic mower 10 to conduct a tour and send real-time or recent data for viewing. The live view or real-time data may also be used, for example, to generate a first person view that the operator could employ via a remote device to direct operation of the robotic mower 10.

The timeline function may serve as an event log so that potential problems or changes of interest may be identified either automatically or by the operator. For example, logged data may include pictures or image data taken of various structures or situations on the parcel 20. The image data may be presented to the operator so the operator can identify or appreciate the changes, or image processing techniques may be employed to compare images of the same area at different times to identify objects or other changes and the operator may be notified of such changes (e.g., via email, MMS or other alerting mechanisms). Accordingly, for example, the garden modeler 270 may be configured to perform automatic change detection (e.g., based on image comparisons) and notification based, in some cases, on logged data. The logged data may therefore include images, sensor readings, component activity data and/or the like for given times or periods of time. Accordingly, for example, problems such as the robotic mower 10 getting stuck, areas with bad GPS coverage, areas with poor grass quality, swampy or dry areas, and/or the like may be identified and associated with the locations and times during which such conditions occurred. The information may be used to define areas that the robotic mower 10 should avoid or take special actions when entering such areas. The occurrence of certain natural or artificial phenomena may therefore be monitored, such as the falling of a tree limb, the intrusion of an animal or person into a garden, or the leaving of toys, furniture or other objects on the parcel 20.

In some situations, privacy may be an important consideration relative to the gathering of image data. In particular, for example, it may be undesirable to present image data relating to structures, objects or people that are not on the parcel 20, but are visible by the robotic mower 10 during operation on the parcel 20. Accordingly, in some embodiments, the garden modeler 270 may be further configured to mask image data that is determined to correspond to areas outside the boundary 30 of the parcel 20. For example, the garden modeler 270 may be configured to identify objects in image data captured by the image capture module 110 and estimate a distance to the identified objects. If the objects are estimated to be at distances that would place the objects outside the boundary 30, the garden modeler 270 may be configured to employ an image masking algorithm to blur, obstruct or otherwise mask the image data relative to the objects that are outside the boundary 30. However, objects inside the boundary 30 may be presented with normal resolution and the model 280 may faithfully reproduce such content as much as possible. In some cases, the camera 74 may be a stereo camera or other ranging techniques may be employed to enable the garden modeler 270 to determine a range to the objects in an image.

Based on the description above, it should be appreciated that the garden modeler 270 may be configured to enable image data to be combined with position data to generate location aware processing of data for creation of a virtual garden in the form of model 280. The virtual garden may be a 2D or 3D representation of the garden and may include content items that include image data and perhaps other sensor data that is correlated by time and/or location with the representation of the garden. The operator may therefore be enabled to conduct a virtual inspection of the garden from anywhere in the world in an intuitive and natural way. Various problems, obstacles and items in the garden may be automatically or manually identified by reviewing image data content items so that the overall quality of lawn and garden activities (e.g., mowing) may be improved. Additionally, automatic masking of image data for objects outside boundaries of the parcel 20 on which the robotic mower 10 operates may also be accomplished to address any privacy concerns.

Embodiments of the present invention may therefore be practiced using an apparatus such as the one depicted in FIG. 3. However, other embodiments may be practiced in connection with a computer program product for performing embodiments of the present invention. As such, for example, each block or step of the flowcharts of FIGS. 5-7, and combinations of blocks in the flowcharts, may be implemented by various means, such as hardware, firmware, processor, circuitry and/or another device associated with execution of software including one or more computer program instructions. Thus, for example, one or more of the procedures described above may be embodied by computer program instructions, which may embody the procedures described above and may be stored by a storage device (e.g., memory 214) and executed by processing circuitry (e.g., processor 212).

As will be appreciated, any such stored computer program instructions may be loaded onto a computer or other programmable apparatus (i.e., hardware) to produce a machine, such that the instructions which execute on the computer or other programmable apparatus implement the functions specified in the flowchart block(s) or step(s). These computer program instructions may also be stored in a computer-readable medium comprising memory that may direct a computer or other programmable apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions to implement the function specified in the flowchart block(s) or step(s). The computer program instructions may also be loaded onto a computer or other programmable apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block(s) or step(s). In this regard, a method according to example embodiments of the invention may include any or all of the operations shown in FIGS. 5-7. Moreover, other methods derived from the descriptions provided herein may also be performed responsive to execution of steps associated with such methods by a computer programmed to be transformed into a machine specifically configured to perform such methods.

In an example embodiment, a method for processing image data and position information to generate an interactive garden or other visualization of a garden or parcel may include object detection-related information, as shown in FIG. 5, may include receiving information indicative of position data of a robotic vehicle transiting a parcel and corresponding image data captured by the robotic vehicle at one or more locations on the parcel at operation 300. The method may further include generating a model of the parcel based on the information received at operation 310, providing a graphical representation of the parcel based on the model at operation 320, and enabling an operator to interact with the graphical representation to view one or more content items associated with respective ones of the one or more locations at operation 420.

In some cases, the method may include additional optional operations, some examples of which are shown in dashed lines in FIG. 5. For example, the method may further include updating the model based on supplemental image data or supplemental location information received from an external device at operation 315. The graphical representation may be provided based on the model after updating. Alternatively or additionally, the method may include applying a mask function relative to at least one image defining the one or more content items at operation 325.

The operations 300-330 may also be modified, augmented or amplified in some cases. For example, in some embodiments, the method may further include (1) updating the model based on supplemental image data or supplemental location information received from an external device, the graphical representation being provided based on the model after updating. In some embodiments, whether or not the method of modified to include (1), (2) generating the model may include generating the model at a charge station or a remote device relative to the robotic vehicle responsive to the information received being received from the robotic vehicle. In some cases, (3) providing the graphical representation may include generating a two dimensional or three dimensional interactive representation of the parcel.

In some cases, any or all of (1) to (3) may be employed and method may be modified such that providing the graphical representation includes providing an event log defining a series of events in association with the respective ones of the one or more locations. Additionally or alternatively, the event log may include a plurality of images associated with the respective ones of the one or more locations at a selected time or range of times. Additionally or alternatively, the event log may further include sensor data gathered at the respective ones of the one or more locations at the selected time or range of times. Additionally or alternatively, enabling the operator to interact with the graphical representation may include enabling the operator to define an area within the parcel and associate a task to be executed by the robotic vehicle within the area. Thus, for example, the operator can define a general task (e.g., mowing the area) or a specific task (e.g., mowing the area using a specific route, path or pattern. The operator can also define the tasks based on specific timing or event triggers, so that the operator can schedule areas and tasks according to a desired programmatically defined maintenance schedule. Additionally or alternatively, processing circuitry may be configured to compare images taken at different times at a same location to identify a change based on the images compared. The processing circuitry may be further configured to notify the operator of the change automatically in response to identification of the change.

In some embodiments, operation 325 (if employed) may further include sub-operations that are illustrated by way of example in FIGS. 6 and 7 to show how the mask is applied generally (FIG. 6) and for a plurality of objects and images (FIG. 7). As shown in FIG. 6, operation 325 may include sub-operations such as identifying an object in the at least one image at operation 400, determining a status of the object relative to a boundary of the parcel at operation 410, and masking the object responsive to the object being determined to be outside the boundary at operation 420. When there are multiple objects and/or multiple images, applying the mask function may include identifying a plurality of objects in a plurality of images defining the one or more content items at operation 400′, determining a status of each of the objects relative to a boundary of the parcel at operation 410′, and masking each external object that is determined to be outside the boundary at operation 420′, as shown in FIG. 7.

In an example embodiment, an apparatus for performing the methods of FIGS. 5-7 above may comprise processing circuitry (e.g., processing circuitry 272) that may include a processor (e.g., an instance of the processor 212 at the device hosting the garden modeler 270) configured to perform some or each of the operations (300-330) and (400-420) described above. The processing circuitry 272 may, for example, be configured to perform the operations (300-330) and (400-420) by performing hardware implemented logical functions, executing stored instructions, or executing algorithms for performing each of the operations. Alternatively, the apparatus may comprise means for performing each of the operations described above. In this regard, according to an example embodiment, examples of means for performing operations (300-330) and (400-420) may comprise, for example, the control circuitry 12 or the processing circuitry 272.

Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe exemplary embodiments in the context of certain exemplary combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions than those explicitly described above are also contemplated as may be set forth in some of the appended claims. In cases where advantages, benefits or solutions to problems are described herein, it should be appreciated that such advantages, benefits and/or solutions may be applicable to some example embodiments, but not necessarily all example embodiments. Thus, any advantages, benefits or solutions described herein should not be thought of as being critical, required or essential to all embodiments or to that which is claimed herein. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation. 

1. A method comprising: receiving information indicative of position data of a robotic vehicle transiting a parcel and corresponding image data captured by the robotic vehicle at one or more locations on the parcel; generating a model of the parcel based on the information received; providing a graphical representation of the parcel based on the model; and enabling an operator to interact with the graphical representation to view one or more content items associated with respective ones of the one or more locations.
 2. The method of claim 1, further comprising updating the model based on supplemental image data or supplemental location information received from an external device, the graphical representation being provided based on the model after updating.
 3. The method of claim 1, wherein generating the model comprises generating the model at a charge station or a remote device relative to the robotic vehicle responsive to the information received being received from the robotic vehicle.
 4. The method of claim 3, wherein providing the graphical representation comprises generating a two dimensional or three dimensional interactive representation of the parcel.
 5. The method of claim 1, wherein providing the graphical representation comprises providing an event log defining a series of events in association with the respective ones of the one or more locations.
 6. The method of claim 5, wherein the event log includes a plurality of images associated with the respective ones of the one or more locations at a selected time or range of times.
 7. The method of claim 6, wherein the event log further includes sensor data gathered at the respective ones of the one or more locations at the selected time or range of times.
 8. The method of claim 1, further comprising applying a mask function relative to at least one image defining the one or more content items.
 9. The method of claim 8, wherein applying the mask function comprises: identifying an object in the at least one image; determining a status of the object relative to a boundary of the parcel; and masking the object responsive to the object being determined to be outside the boundary.
 10. The method of claim 8, wherein applying the mask function comprises: identifying a plurality of objects in a plurality of images defining the one or more content items; determining a status of each of the objects relative to a boundary of the parcel; and masking each external object that is determined to be outside the boundary.
 11. The method of claim 1, wherein enabling the operator to interact with the graphical representation comprises enabling the operator to define an area within the parcel and associate a task to be executed by the robotic vehicle within the area.
 12. The method of claim 1, further comprising comparing images taken at different times at a same location to identify a change based on the images compared.
 13. The method of claim 12, further comprising notifying the operator of the change automatically in response to identification of the change.
 14. An apparatus comprising processing circuitry configured to: receive receiving information indicative of position data of a robotic vehicle transiting a parcel and corresponding image data captured by the robotic vehicle at one or more locations on the parcel; generate generating a model of the parcel based on the information received; provide providing a graphical representation of the parcel based on the model; and enable enabling an operator to interact with the graphical representation to view one or more content items associated with respective ones of the one or more locations.
 15. The apparatus of claim 14, wherein the processing circuitry is further configured to update the model based on supplemental image data or supplemental location information received from an external device, the graphical representation being provided based on the model after updating.
 16. The apparatus of claim 14, wherein generating the model comprises generating the model at a charge station or a remote device relative to the robotic vehicle responsive to the information received being received from the robotic vehicle.
 17. The apparatus of claim 16, wherein providing the graphical representation comprises generating a two dimensional or three dimensional interactive representation of the parcel.
 18. The apparatus of claim 14, wherein providing the graphical representation comprises providing an event log defining a series of events in association with the respective ones of the one or more locations.
 19. The apparatus of claim 18, wherein the event log includes a plurality of images associated with the respective ones of the one or more locations at a selected time or range of times, and wherein the event log further includes sensor data gathered at the respective ones of the one or more locations at the selected time or range of times. 20-26. (canceled)
 27. A method comprising: receiving information indicative of position data of a robotic vehicle transiting a parcel and corresponding image data captured by the robotic vehicle at one or more locations on the parcel; providing a graphical representation of the parcel at a remote device in real-time; and enabling an operator to interact with the graphical representation to direct operation of the robotic vehicle in real-time. 